package com.itheima.service;

import com.itheima.dto.Page;
import com.itheima.dto.RoleDTO;
import com.itheima.result.PageData;
import com.itheima.vo.RoleAuthListVO;
import com.itheima.vo.RoleVO;

import java.util.List;

public interface SysRoleService {
    /**
     * 页面查询角色
     *
     * @param page 页面
     * @return {@link PageData}
     */
    PageData pageQueryRole(Page page);

    /**
     * 查询所有角色
     *
     * @return {@link List}<{@link RoleVO}>
     */
    List<RoleVO> queryAllRoles();

    /**
     * 创造角色
     *
     * @param roleDTO 角色d去
     */
    void creatRole(RoleDTO roleDTO);

    /**
     * 删除角色
     *
     * @param id id
     */
    void deleteRole(String id);

    /**
     * 查询角色
     *
     * @param id id
     * @return {@link RoleAuthListVO}
     */
    RoleAuthListVO queryRole(String id);

    /**
     * 更新角色
     *
     * @param roleDTO 角色d去
     */
    void updateRole(RoleDTO roleDTO);
}
